﻿using Treca.PushMessage.Entity;
using Treca.Util;
using EFCore.Sharding;
using System.Collections.Generic;
using System.Data;
using Microsoft.AspNetCore.Http;
using Treca.Business;
using Treca.Business.Base_SysManage;
using System.Linq;
namespace Treca.PushMessage.Business
{
    public interface Ims_messageuserBusiness:IBaseBusiness<ms_messageuser>
    {
        DataTable GetDataList(Pagination pagination,Dictionary<string, string> keyValues,bool usedto=true);
        DataTable GetDataTable(Pagination pagination, Dictionary<string, string> keyValues);
        DataTable GetDataList(Pagination pagination, List<SearchInfo> searchInfos);
        DataTable GetDataListByComplexQuery(Pagination pagination, ComplexQuery ComplexQuerys);
        IQueryable<ms_messageuser> GetDataListIntersectIqueryable(IQueryable<ms_messageuser> ms_messageusers, Pagination pagination, List<SearchInfo> searchInfos);
        DataTable GetDataListIntersect(IQueryable<ms_messageuser> ms_messageusers,Pagination pagination, List<SearchInfo> searchInfos);
        DataTable GetDataListIntersectExport(IQueryable<ms_messageuser> ms_messageusers, Pagination pagination, List<SearchInfo> searchInfos);
        DataTable GetDataListIntersectExport(Pagination pagination, List<SearchInfo> searchInfos);
        DataTable GetDataListIntersectExport(Pagination pagination, ComplexQuery ComplexQuerys);
        DataTable GetDataList();
        BaseDataHelper GetBaseDataHelper();
        DataTable GetDataTableSql(string system, string Respondents, string ID_card, string Telephone, string Name, string Gate);
        ms_messageuser GetTheData(string id);
        DataTable GetDataList(string condition, string keyword);
        AjaxResult AddData(ms_messageuser newData);
        AjaxResult AddData(List<ms_messageuser> newData);
        string GetMaxNo(string Code, string Table);
        AjaxResult OCRData(string FileName);
        AjaxResult UpdateData(ms_messageuser theData);
        AjaxResult DeleteData(List<string> ids);
        AjaxResult ApproveData(List<string> ids);
        AjaxResult ReverseData(List<string> ids);
    }
}